const promise = new Promise((resolve,reject)=>{
    reject('123')
    resolve('abc')
})
promise.then(()=>{},'123').then((res)=>{
    console.log(res,'res')  //abc
    return '1223'
},(err)=>{
    console.log(err,'err')
}).then('aaaaa').then((res)=>{
    console.log(res,'res')  //1223
}).finally((res)=>{
    console.log(res,'finally')
})
/**
 * then的参数有两个，如果promise返回成功状态但第一个参数不是函数，则会发生值穿透,可以理解为不执行then
 * then的参数有两个，如果promise返回失败状态但第二个参数不是函数，则会发生值穿透,可以理解为不执行then
*/